package com.zenith.zongheng.demo.api;

import com.zenith.zongheng.demo.domain.entity.LeaveFile;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zenith.zongheng.demo.domain.dto.LeaveFileDTO;
import com.zenith.zongheng.demo.domain.dto.LeaveFileSaveDTO;
import com.zenith.zongheng.demo.domain.vo.LeaveFileVO;
import com.zenith.zongheng.common.domain.vo.PageVO;
import org.springframework.web.multipart.MultipartFile;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author tangzx
 * @since 2021-12-07
 */
public interface LeaveFileService extends IService<LeaveFile> {

    /**
     * query leave
     *
     * @param dto dto
     * @return file message
     */
    PageVO<LeaveFileVO> queryPage(LeaveFileDTO dto);

    /**
     * 保存文件
     *
     * @param filePath 文件路径
     * @param fileName 文件名
     * @param leaveInfoId id
     */
    void saveLeaveFile(String filePath, String fileName, Integer leaveInfoId);

    /**
     * 更新接口
     *
     * @param dto 假条文件信息DTO
     */
    void updateLeaveFile(LeaveFileSaveDTO dto);

    /**
     * 删除接口
     *
     * @param id 假条文件ID
     */
    void deleteLeaveFile(Long...id);

    /**
     * 上传文件
     *
     * @param leaveInfoId id
     * @param file        请假文件
     */
    void uploadFile(Integer leaveInfoId, MultipartFile file);
}
